<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Magiquest.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Magiquest.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Magiquest_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2013 mpflaga</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright 2015 kitlaan</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright 2017 Jason kendall, David Conran</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//   Brand: MagiQuest,  Model: Wand</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef IR_MAGIQUEST_H_</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define IR_MAGIQUEST_H_</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="unionmagiquest.html">   22</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionmagiquest.html">magiquest</a> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="unionmagiquest.html#ad57fbc75ab289c3e93b94be0b2187d65">   23</a></span>&#160;  uint64_t <a class="code" href="unionmagiquest.html#ad57fbc75ab289c3e93b94be0b2187d65">llword</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="unionmagiquest.html#af1a9c9a147a1610fe5f0e77ca3e09e44">   24</a></span>&#160;  uint8_t <span class="keywordtype">byte</span>[8];</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  <span class="comment">//  uint16_t   word[4];</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="unionmagiquest.html#ac87102145311831a232002b52fe2d02c">   26</a></span>&#160;  uint32_t <a class="code" href="unionmagiquest.html#ac87102145311831a232002b52fe2d02c">lword</a>[2];</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="unionmagiquest.html#a8f687419a00322a04aab223dec093d6e">   28</a></span>&#160;    uint16_t <a class="code" href="unionmagiquest.html#a8f687419a00322a04aab223dec093d6e">magnitude</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="unionmagiquest.html#a1b159cd47635d548e1d4198cd6d41e93">   29</a></span>&#160;    uint32_t <a class="code" href="unionmagiquest.html#a1b159cd47635d548e1d4198cd6d41e93">wand_id</a>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93">   30</a></span>&#160;    uint8_t <a class="code" href="unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93">padding</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="unionmagiquest.html#afd0bcf9a87f0fa2db87b68b211952a73">   31</a></span>&#160;    uint8_t <a class="code" href="unionmagiquest.html#afd0bcf9a87f0fa2db87b68b211952a73">scrap</a>;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  } <a class="code" href="unionmagiquest.html#a7f77946114ac2fdf3f0491482f9c277a">cmd</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;};</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a819dcf22b127f4f7b282d784490a83c3">   35</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Magiquest_8h.html#a819dcf22b127f4f7b282d784490a83c3">kMagiQuestTotalUsec</a> = 1150;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a41e5594b8e1510267e563ed78fbe98b0">   36</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Magiquest_8h.html#a41e5594b8e1510267e563ed78fbe98b0">kMagiQuestZeroRatio</a> = 30;  <span class="comment">// usually &lt;= ~25%</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a073cdb7ca4dd35b8fa05d99eb7da5b65">   37</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Magiquest_8h.html#a073cdb7ca4dd35b8fa05d99eb7da5b65">kMagiQuestOneRatio</a> = 38;   <span class="comment">// usually &gt;= ~50%</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a7240a15dbb9bc6a1e31575be7837c390">   38</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Magiquest_8h.html#a7240a15dbb9bc6a1e31575be7837c390">kMagiQuestMarkZero</a> = 280;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#abe557052c5c3bef87e62daf71b4c8654">   39</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Magiquest_8h.html#abe557052c5c3bef87e62daf71b4c8654">kMagiQuestSpaceZero</a> = 850;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a0d5d090015ecf49995514054c29cb4e2">   40</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Magiquest_8h.html#a0d5d090015ecf49995514054c29cb4e2">kMagiQuestMarkOne</a> = 580;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#a92bad440c0291cbb903f08de08d96fb2">   41</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Magiquest_8h.html#a92bad440c0291cbb903f08de08d96fb2">kMagiQuestSpaceOne</a> = 600;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="ir__Magiquest_8h.html#aebdea5a1a55547d812f1f7bb2d3ddf1f">   42</a></span>&#160;<span class="keyword">const</span> uint32_t <a class="code" href="ir__Magiquest_8h.html#aebdea5a1a55547d812f1f7bb2d3ddf1f">kMagiQuestGap</a> = <a class="code" href="IRsend_8h.html#ad49e9828319afbad49fd5082c50ef4a7">kDefaultMessageGap</a>;  <span class="comment">// Just a guess.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#endif  // IR_MAGIQUEST_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aIRsend_8h_html_ad49e9828319afbad49fd5082c50ef4a7"><div class="ttname"><a href="IRsend_8h.html#ad49e9828319afbad49fd5082c50ef4a7">kDefaultMessageGap</a></div><div class="ttdeci">const uint32_t kDefaultMessageGap</div><div class="ttdef"><b>Definition:</b> IRsend.h:41</div></div>
<div class="ttc" id="aunionmagiquest_html_afd0bcf9a87f0fa2db87b68b211952a73"><div class="ttname"><a href="unionmagiquest.html#afd0bcf9a87f0fa2db87b68b211952a73">magiquest::scrap</a></div><div class="ttdeci">uint8_t scrap</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:31</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a7240a15dbb9bc6a1e31575be7837c390"><div class="ttname"><a href="ir__Magiquest_8h.html#a7240a15dbb9bc6a1e31575be7837c390">kMagiQuestMarkZero</a></div><div class="ttdeci">const uint16_t kMagiQuestMarkZero</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:38</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="aunionmagiquest_html_a8f687419a00322a04aab223dec093d6e"><div class="ttname"><a href="unionmagiquest.html#a8f687419a00322a04aab223dec093d6e">magiquest::magnitude</a></div><div class="ttdeci">uint16_t magnitude</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:28</div></div>
<div class="ttc" id="aunionmagiquest_html_ad57fbc75ab289c3e93b94be0b2187d65"><div class="ttname"><a href="unionmagiquest.html#ad57fbc75ab289c3e93b94be0b2187d65">magiquest::llword</a></div><div class="ttdeci">uint64_t llword</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:23</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aunionmagiquest_html_a7f77946114ac2fdf3f0491482f9c277a"><div class="ttname"><a href="unionmagiquest.html#a7f77946114ac2fdf3f0491482f9c277a">magiquest::cmd</a></div><div class="ttdeci">struct magiquest::@60 cmd</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a0d5d090015ecf49995514054c29cb4e2"><div class="ttname"><a href="ir__Magiquest_8h.html#a0d5d090015ecf49995514054c29cb4e2">kMagiQuestMarkOne</a></div><div class="ttdeci">const uint16_t kMagiQuestMarkOne</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:40</div></div>
<div class="ttc" id="aunionmagiquest_html"><div class="ttname"><a href="unionmagiquest.html">magiquest</a></div><div class="ttdoc">MagiQuest packet is both Wand ID and magnitude of swish and flick.</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:22</div></div>
<div class="ttc" id="aunionmagiquest_html_a1b159cd47635d548e1d4198cd6d41e93"><div class="ttname"><a href="unionmagiquest.html#a1b159cd47635d548e1d4198cd6d41e93">magiquest::wand_id</a></div><div class="ttdeci">uint32_t wand_id</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:29</div></div>
<div class="ttc" id="air__Magiquest_8h_html_aebdea5a1a55547d812f1f7bb2d3ddf1f"><div class="ttname"><a href="ir__Magiquest_8h.html#aebdea5a1a55547d812f1f7bb2d3ddf1f">kMagiQuestGap</a></div><div class="ttdeci">const uint32_t kMagiQuestGap</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:42</div></div>
<div class="ttc" id="air__Magiquest_8h_html_abe557052c5c3bef87e62daf71b4c8654"><div class="ttname"><a href="ir__Magiquest_8h.html#abe557052c5c3bef87e62daf71b4c8654">kMagiQuestSpaceZero</a></div><div class="ttdeci">const uint16_t kMagiQuestSpaceZero</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:39</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a92bad440c0291cbb903f08de08d96fb2"><div class="ttname"><a href="ir__Magiquest_8h.html#a92bad440c0291cbb903f08de08d96fb2">kMagiQuestSpaceOne</a></div><div class="ttdeci">const uint16_t kMagiQuestSpaceOne</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:41</div></div>
<div class="ttc" id="aunionmagiquest_html_ac87102145311831a232002b52fe2d02c"><div class="ttname"><a href="unionmagiquest.html#ac87102145311831a232002b52fe2d02c">magiquest::lword</a></div><div class="ttdeci">uint32_t lword[2]</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:26</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a819dcf22b127f4f7b282d784490a83c3"><div class="ttname"><a href="ir__Magiquest_8h.html#a819dcf22b127f4f7b282d784490a83c3">kMagiQuestTotalUsec</a></div><div class="ttdeci">const uint16_t kMagiQuestTotalUsec</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:35</div></div>
<div class="ttc" id="aunionmagiquest_html_a28ca4be56c78ef762f87171506dc6e93"><div class="ttname"><a href="unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93">magiquest::padding</a></div><div class="ttdeci">uint8_t padding</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:30</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a073cdb7ca4dd35b8fa05d99eb7da5b65"><div class="ttname"><a href="ir__Magiquest_8h.html#a073cdb7ca4dd35b8fa05d99eb7da5b65">kMagiQuestOneRatio</a></div><div class="ttdeci">const uint8_t kMagiQuestOneRatio</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:37</div></div>
<div class="ttc" id="air__Magiquest_8h_html_a41e5594b8e1510267e563ed78fbe98b0"><div class="ttname"><a href="ir__Magiquest_8h.html#a41e5594b8e1510267e563ed78fbe98b0">kMagiQuestZeroRatio</a></div><div class="ttdeci">const uint8_t kMagiQuestZeroRatio</div><div class="ttdef"><b>Definition:</b> ir_Magiquest.h:36</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
